// Made with Blockbench 3.9.3
// Exported for Minecraft version 1.15 - 1.16 with MCP mappings
// Paste this class into your mod and generate all required imports

public static class ModelSleuth extends EntityModel<Entity> {
	private final ModelRenderer all;
	private final ModelRenderer leg1;
	private final ModelRenderer leg2;
	private final ModelRenderer leg3;
	private final ModelRenderer leg4;
	private final ModelRenderer body;
	private final ModelRenderer Head;
	private final ModelRenderer Mouth;
	private final ModelRenderer Ear1;
	private final ModelRenderer Ear2;

	public ModelSleuth() {
		textureWidth = 256;
		textureHeight = 256;

		all = new ModelRenderer(this);
		all.setRotationPoint(0.0F, 24.0F, 0.0F);

		leg1 = new ModelRenderer(this);
		leg1.setRotationPoint(-2.0F, -3.0F, 3.0F);
		all.addChild(leg1);
		leg1.setTextureOffset(51, 20).addBox(-1.0F, 0.0F, 0.0F, 1.0F, 3.0F, 1.0F, 0.0F, false);

		leg2 = new ModelRenderer(this);
		leg2.setRotationPoint(2.0F, -3.0F, 3.0F);
		all.addChild(leg2);
		leg2.setTextureOffset(60, 19).addBox(0.0F, 0.0F, 0.0F, 1.0F, 3.0F, 1.0F, 0.0F, false);

		leg3 = new ModelRenderer(this);
		leg3.setRotationPoint(-2.0F, -3.0F, -3.0F);
		all.addChild(leg3);
		leg3.setTextureOffset(60, 0).addBox(-1.0F, 0.0F, -1.0F, 1.0F, 3.0F, 1.0F, 0.0F, false);

		leg4 = new ModelRenderer(this);
		leg4.setRotationPoint(3.0F, -3.0F, -4.0F);
		all.addChild(leg4);
		leg4.setTextureOffset(60, 0).addBox(-1.0F, 0.0F, 0.0F, 1.0F, 3.0F, 1.0F, 0.0F, false);

		body = new ModelRenderer(this);
		body.setRotationPoint(0.0F, 0.0F, 0.0F);
		all.addChild(body);
		body.setTextureOffset(40, 39).addBox(-3.0F, -5.0F, -1.0F, 6.0F, 2.0F, 6.0F, 0.0F, false);
		body.setTextureOffset(38, 54).addBox(-4.0F, -7.0F, -5.0F, 8.0F, 5.0F, 5.0F, 0.0F, false);

		Head = new ModelRenderer(this);
		Head.setRotationPoint(1.0F, -4.0F, -6.0F);
		all.addChild(Head);
		Head.setTextureOffset(0, 58).addBox(-3.0F, -2.0F, -2.0F, 4.0F, 3.0F, 3.0F, 0.0F, false);

		Mouth = new ModelRenderer(this);
		Mouth.setRotationPoint(-1.0F, 4.0F, 6.0F);
		Head.addChild(Mouth);
		Mouth.setTextureOffset(0, 0).addBox(-1.0F, -5.0F, -9.0F, 2.0F, 2.0F, 1.0F, 0.0F, false);

		Ear1 = new ModelRenderer(this);
		Ear1.setRotationPoint(0.0F, 0.0F, 0.0F);
		Head.addChild(Ear1);
		Ear1.setTextureOffset(0, 38).addBox(0.0F, -4.0F, -1.0F, 1.0F, 2.0F, 1.0F, 0.0F, false);

		Ear2 = new ModelRenderer(this);
		Ear2.setRotationPoint(0.0F, 0.0F, 0.0F);
		Head.addChild(Ear2);
		Ear2.setTextureOffset(0, 25).addBox(-3.0F, -4.0F, -1.0F, 1.0F, 2.0F, 1.0F, 0.0F, false);
	}

	@Override
	public void render(MatrixStack matrixStack, IVertexBuilder buffer, int packedLight, int packedOverlay, float red,
			float green, float blue, float alpha) {
		all.render(matrixStack, buffer, packedLight, packedOverlay);
	}

	public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) {
		modelRenderer.rotateAngleX = x;
		modelRenderer.rotateAngleY = y;
		modelRenderer.rotateAngleZ = z;
	}

	public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity e) {
		this.leg1.rotateAngleX = MathHelper.cos(f * 1.0F) * 1.0F * f1;
		this.Head.rotateAngleY = f3 / (180F / (float) Math.PI);
		this.Head.rotateAngleX = f4 / (180F / (float) Math.PI);
		this.leg4.rotateAngleX = MathHelper.cos(f * 1.0F) * 1.0F * f1;
		this.leg2.rotateAngleX = MathHelper.cos(f * 1.0F) * -1.0F * f1;
		this.leg3.rotateAngleX = MathHelper.cos(f * 1.0F) * -1.0F * f1;
	}
}